At present, as the satellite communication has the advantages of wide coverage area, quick and flexible networking, being free from geographic limitations, etc., it forms the complementary and competitive situations with the ground communication in recent years; It is widely applied in the economic and military fields of application communication and national defensive system of the satellite phone, navigational positioning and the emergencies such as emergency rescue and disaster relief, etc.
The satellite communication utilizes the man-made earth satellite as the relay station to transmit the radio wave, realizing the communication between two or more earth stations; As the transmission distance to the radio signal of satellite communication is very far, it results in the large delay on transmission; For example, the communication distance of the geosynchronous earth orbit satellite which is often used for the navigational positioning and data relay is about 36000 km, whose transmission delay can reach 500 ms˜800 ms; The far transmission distance will caused the great attenuation of signal at the same time and the signal to noise ratio of the received signal is extremely low. And the unstable space environment will result in the bit error rate of the link remaining high; in actual application, the bit error rate of space communications can reach 10−3 but the hit error rate of ground-to-ground transmission is only 10−10; The high delay and the high bit error rate of the link give a challenge to the traditional communication method.
Currently, a series of solutions are proposed in accordance with the influences of the adverse factors such as high transmission delay, high bit error rate and link asymmetry, etc. of the space communications on the transmission protocol; For example, the bandwidth measurement mechanism is added to the TCP Westwood on the basis of the traditional TCP for the adjustment strategy of the congestion window, eliminating influence of the high hit error rate. However, as the traditional strategy of TCP is still used for its slow start and the congestion avoidance stage, influence of delay on the protocol is relatively big, which cannot utilize the bandwidth very well; XCP monitors the network traffic situation with the middle router, which reflects the network situation to the sending end through modifying the head field of the packet but the protocol needs the special router to support the protocol; TCP-Peach tests the congestion situation of the network through sending dummies and uses the sudden start and rapid recovery mechanism, which can quickly recover and occupy the bandwidth after the connection establishment and the packet loss. It is applicable for the network with high delay and high bit error rate but the protocol requires the intermediate router to support the priority strategy, otherwise the dummies \\Till result in pressure on the link; the delay tolerant network (DTN) architecture uses the strategy of copying/flooding in the whole network. Although in this way it can improve the transmission probability and reduce the transmission delay, but too many redundant copies will result in great waste for the network resource. Also, DTN needs the intermediate node to store all packets received in the buffer before the successful transmission of the received packets, which will largely consume the satellite network resource; The Space Communications Protocol Specification-Transport Protocol (SCPS-TP) is the transmission protocol proposed by the Consultative Committee for Space Data Systems (CCSDS) facing the space communication environment, which is developed based on the transmission protocol of traditional ground communication. The protocol adopts larger window size and adds Selective Negative Acknowledgment (SNACK) mechanism, header compression function and rate control function, which can adapt the satellite network with large bandwidth delay product and high bit error rate and is the network transmission protocol that is used the most widely at present. However, it still has the phenomenon that the intermediate router queue is too long and causes severe packet loss due to network congestion. Also, it cannot fully utilize the bandwidth in accordance with the actual network situation.
Invention Content
This invention a self-adaptive network congestion control method which can change the network window size in accordance with the actual network operation situation.
The technical program adopted by this invention is: a kind of self-adaptive network congestion control method based on SCPS-TP, which includes the steps as follows:
A. The source-end gateway of SCPS-TP receives the ACKs and packets from the ground end, repackages the packets and sends them to the destination end gateway; After the destination end gateway of SCPS-TP receives the ACKs and packets from the source-end gateway, it analyzes, stores and transmits the packets to the ground destination end;
B. When the information in the ACKs and packets analyzed in Step A has SNACK option, record the information in the linked list of packet toss buffer;
C. Judge if there is new packet received in accordance with the ACK and packet analyzed in Step A; If there is new confirmed packet received, update the corresponding information; If not, the duplicate ACK counter count. When the duplicate ACK counter increases to a certain value, reduce the size of the window and change the growth mode to the linear self-adaptive mode;
D. If there is new packet received in Step C, measure the estimated value sample of the bandwidth, conduct smoothing on the sample and calculate the difference Diff between the expected throughput and the actual throughput;
E. If the growth pattern is the exponential growth pattern and the Diff in Step D is bigger than the set valve after the window is enlarged, the growth pattern is changed to the linear self-adaptive pattern; If the growth pattern is the linear self-adaptive pattern, adjust the window size in accordance with the Diff in Step D;
F. The gateway source end of SCPS-TP sends out the packets in the packet loss buffer in Step B and sends out the new packets in accordance with the size of the congestion window.
Furthermore, control method of the window under the mentioned linear self-adaptive pattern is as follows:
      W    t    =      {                                        max            ⁡                          (                                                                    W                                          t                      -                      1                                                        +                  MAXSEG                                ,                                                    ×                  SRTT                                            )                                                                          Diff              t                        ≤                          Alpha                              t                -                1                                                                                      W                          t              -              1                                                                          Alpha                              t                -                1                                      <                          Diff              t                        <                          Beta                              t                -                1                                                                                                    W                              t                -                1                                      -            MAXSEG                                                              Diff              t                        ≥                          Beta                              t                -                1                                                        
Therein, Wt is the size of window at moment t, MAXSEG is the maximum segment length, SRTT is the RTT value after smoothing, Alphat is the Alpha value of Moment t, Betat is the Beta value of Moment t and is the bandwidth evaluation value of Moment t after smoothing;
Conduct self-adaptive adjustment on the damping threshold value Alphat and Betat in accordance with the current throughput and the throughput of the last moment and adopt the average method to move the threshold range around Diff, whose specific method is as follows:
            X      t        =                                                Alpha                          t              -              1                                -                      Diff            t                                      2                  Y      t        =                                                Beta                          t              -              1                                -                      Diff            t                                      2                  (                        Alpha          t                ,                  Beta          t                    )        =          {                                                  (                                                                    Alpha                                          t                      -                      1                                                        -                                      X                    t                                                  ,                                                      Beta                                          t                      -                      1                                                        -                                      X                    t                                                              )                                                                                                                                      Actual                      t                                        <                                                                  Actual                                                  t                          -                          1                                                                    ⁢                                                                                          ⁢                      AND                                                                                                                                                              Diff                      t                                        <                                          Alpha                                              t                        -                        1                                                                                                                                                                    (                                                                    Alpha                                          t                      -                      1                                                        -                                      Y                    t                                                  ,                                                      Beta                                          t                      -                      1                                                        -                                      Y                    t                                                              )                                                                                                                                      Actual                      t                                        <                                                                  Actual                                                  t                          -                          1                                                                    ⁢                                                                                          ⁢                      AND                                                                                                                                                              Diff                      t                                        >                                          Beta                                              t                        -                        1                                                                                                                                                                    (                                                                    Alpha                                          t                      -                      1                                                        +                                      X                    t                                                  ,                                                      Beta                                          t                      -                      1                                                        +                                      X                    t                                                              )                                                                                                                                      Actual                      t                                        >                                                                  Actual                                                  t                          -                          1                                                                    ⁢                                                                                          ⁢                      AND                                                                                                                                                              Diff                      t                                        <                                          Alpha                                              t                        -                        1                                                                                                                                                                    (                                                                    Alpha                                          t                      -                      1                                                        +                                      Y                    t                                                  ,                                                      Beta                                          t                      -                      1                                                        +                                      Y                    t                                                              )                                                                                                                                      Actual                      t                                        >                                                                  Actual                                                  t                          -                          1                                                                    ⁢                                                                                          ⁢                      AND                                                                                                                                                              Diff                      t                                        >                                          Beta                                              t                        -                        1                                                                                                                                                                    (                                                Alpha                                      t                    -                    1                                                  ,                                  Beta                                      t                    -                    1                                                              )                                            OTHERS                              
Therein, Xt and Yt are the adjustment factors of the damping threshold value of Moment t.
Further, the calculation method of the Diff at Moment t in the mentioned Step D is as follows:
      Diff    t    =                    Expected        t            -              Actual        t              =                            Window          ⁢                                          ⁢                      Size            t                                                Base            ⁢            RTT                    t                    -                        Byte          t                          Sample          ⁢                                          ⁢                      RTT            t                              
Therein: Expectedt is the throughput which is expected by Moment t, Actualt is the throughput which is measured actually by Moment t, BaseRTTt is the minimum round trip time which is recorded by Moment t, Window Sizet is the number of bytes in the network of Moment t, Bytet is the data seated from sending to receiving a feedback of every packet recorded by the sender at Moment t and Sample RTTt is the actual RTT of this packet at Moment t.
Further, the smoothing method in the mentioned Step D is as follows:
Adopt the exponential weighting average filter (EWMA) with vertical horizontal filter (VHF) to conduct smoothing and calculate the weighting factor of EWMA in accordance with the dispersion degree of the measured bandwidth evaluation value sample and conduct smoothing as per the formula as follows:
            a      t        =          b      ×                        Δ          ⁢                                          ⁢                      max            t                                                ∑                          k              =                              t                -                M                                      t                    ⁢                                          ⁢                                                                OBW                k                            -                              OBW                                  k                  -                  1                                                                                              =                            (                      1            -                          a              t                                )                ×                  OBW          t                    +                        a          t                ⁢                    
Therein: at is the EWMA weighting factor of Moment t, b is the constant factor of VHF and Δmaxt is difference between the maximum and the minimum of the newest M measured bandwidth evaluation value samples of Moment t. M is the size of VHF sample window, OBWt is the bandwidth evaluation value sample measured at Moment t and  is bandwidth evaluation value of Moment t after passing by the EWMA with VHF.
Further, the SCPS-TP gateway source end in Step A uses TCP spoofing technology to pretend as the ground end after repackaging the packet and sends the packet to the target end.
The beneficial effects of this invention are:
(1) The linear self-adaptive pattern is adopted as the window growth pattern of this invention, which can dynamically control the buffering queue length of the intermediate router; And for different bandwidth delay product and the constantly changing network situations, its self-adaptive character makes no manual intervention is needed during the transmission for configuring corresponding parameters, offering network transmission acceleration function;
(2) This invention adopts the bandwidth evaluation algorithm using EWMA smoothing with VHF and takes part in the calculation by adopting the self-adaptive bandwidth weighting factor, in which the influence of the network environment change on the algorithm is smaller and the bandwidth measured is more stable and accurate;
(3) This invention can let the ground end get the feedback information in time through TCP spoofing technology, making the transmission faster.